module.exports = async (ctx, next) => {
  const { header, path } = ctx.request;

  //如果是用户登录和注册，则不需要校验session
  if (['/api/login', '/api/register'].includes(path)) {
    await next();
    return;
  }
  const sessionId = header.sessionid;
  console.log('header::', header);
  _logger.info('header.sessionid:::', sessionId);
  _logger.info('ctx.session:::', ctx.session);

  // 校验用户session是否存在或者过期， 如果过期需要小程序用户重新登录
  if (!sessionId || ctx.session.sessionId !== sessionId || ctx.session.expireTime < Date.now()) {
    _logger.info('登录过期');
    ctx.body = {
      code: -10000,
      message: '登录失效，请重新登录',
    };
    return;
  }

  await next();
};
